const recorderManager = wx.getRecorderManager();
const aaa = {
  duration: 60000, // 录音时长，单位为毫秒，默认为60000（60秒）
  sampleRate: 16000, // 采样率，单位为Hz，默认为8000
  numberOfChannels: 1, // 录音通道数，有效值为1或2，默认为1
  bitRate: 16, // 编码码率，单位为kbps，默认为48000（48kbps）
  format: 'mp3', // 录音文件格式，有效值为aac/mp3/pcm，默认为pcm
  encoding: 'raw'
};

Page({
  /**
   * 页面的初始数据
   */
  data: {
    result: "长按录音，将您的语音转化成文字"
  },

  // 上传录音文件的函数
  uploadRecord(filePath) {
    var that = this;
    wx.uploadFile({
      url: 'http://10.121.21.217:8080/speechidentify/identify',
      header: {
        'content-type': 'multipart/form-data'
      },
      filePath: filePath,
      name: 'audioFile',
      success(res) {
        console.log('上传成功', res);
        // 在这里可以处理上传成功的逻辑
        that.setData({
          result: res.data
        });
      },
      fail(res) {
        console.log('上传失败', res);
        // 在这里可以处理上传失败的逻辑
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    wx.setNavigationBarTitle({
      title: "语音识别"
    });
    let recorderManager = wx.getRecorderManager();
    // 监听录音开始事件
    recorderManager.onStart(() => {
      console.log('录音开始');
    });
    // 监听录音结束事件
    recorderManager.onStop((res) => {
      console.log('录音结束', res.tempFilePath);
      // 在这里可以调用上传录音文件的函数
      this.uploadRecord(res.tempFilePath);
    });
  },

  // 触摸开始录音的函数
  startRecord() {
    recorderManager.start();
    console.log("1");
  },

  // 触摸停止录音的函数
  stopRecord() {
    recorderManager.stop();
    console.log("2");
  }
});